package com.dkd.system.domain;

import java.util.Date;

import com.dkd.common.core.domain.entity.SysUser;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.ToString;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.dkd.common.annotation.Excel;
import com.dkd.common.core.domain.BaseEntity;

/**
 * 系统编码规则对象 t_code_rule
 * 
 * @author chuyongshuo
 * @date 2025-08-08
 */
@Data
@ToString
public class TCodeRule extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private Integer id;

    /** 规则名称 */
    @Excel(name = "规则名称")
    private String ruleName;

    /** 编码前缀 */
    @Excel(name = "编码前缀")
    private String prefix;

    /** 日期格式(如yyyyMMdd) */
    @Excel(name = "日期格式(如yyyyMMdd)")
    private String dateFormat;

    /** 序号长度 */
    @Excel(name = "序号长度")
    private Integer seqLength;

    /** 当前序号值 */
    @Excel(name = "当前序号值")
    private Integer currentValue;

    /** 重置类型(0不重置,1按天,2按月,3按年) */
    @Excel(name = "重置类型(0不重置,1按天,2按月,3按年)")
    private Integer resetType;

    /** 规则描述 */
    @Excel(name = "规则描述")
    private String description;

    /** 状态(0禁用,1启用) */
    @Excel(name = "状态(0禁用,1启用)")
    private Integer status;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date createAt;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date updateAt;

    /** 创建人对象 */
    private String creator;

    /** 更新人对象 */
    private String updater;

}
